package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.PageResult;
import com.example.pojo.entity.Account;
import com.example.pojo.entity.Admin;
import java.util.List;

/**
 * 管理员 service 层接口
 */
public interface AdminService extends IService<Admin> {

    /**
     * 创建一个管理员账号
     *
     * @param admin 管理员账号信息
     */
    void add(Admin admin);

    /**
     * 分页查询账号
     *
     * @param pageNum   页码
     * @param pageSize  页大小
     * @param admin 条件
     * @return 分页结果
     */
    PageResult<Admin> pageQuery(Integer pageNum, Integer pageSize, Admin admin);

    /**
     * 修改账号
     *
     * @param admin 账号信息
     */
    void update(Admin admin);

    /**
     * 删除账号
     *
     * @param id 账号id
     */
    void delete(Integer id);

    /**
     * 批量删除账号
     *
     * @param ids 账号id列表
     */
    void deleteBatch(List<Integer> ids);


    /**
     * 登录
     *
     * @param account 账号
     * @return 账号
     */
    Admin login(Account account);

    /**
     * 修改账号密码
     *
     * @param account 账号
     */
    void updatePassword(Account account);
}
